package com.clement.theAndroidSalesman.ui;

import java.util.Random;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;

import com.clement.theAndroidSalesman.R;

public class Ville extends BitmapDrawable {

	private int largeur;
	private int hauteur;
	private int x;
	private int y;

	public Ville(Resources res, boolean premiereVille) {
		super(res, getBuildingBitmap(res, premiereVille));

		this.largeur = res.getInteger(R.integer.largeurVille1);
		this.hauteur = res.getInteger(R.integer.hauteurVille1);
	}

	private static Bitmap getBuildingBitmap(Resources res, boolean premiereVille) {
		if (premiereVille) {
			return BitmapFactory.decodeResource(res, R.drawable.premier_building);
		}
		Random rand = new Random();
		switch (rand.nextInt(3)) {
		case 0:
			return BitmapFactory.decodeResource(res, R.drawable.building1);
		case 1:
			return BitmapFactory.decodeResource(res, R.drawable.building2);
		default:
			return BitmapFactory.decodeResource(res, R.drawable.building3);
		}
	}

	public void setPosition(int x, int y) {
		this.x = x;
		this.y = y;
		this.setBounds(x - (largeur / 2), y - (hauteur / 2), x + (largeur / 2), y + (hauteur / 2));
	}

	public int getLeft() {
		return x - (largeur / 2);
	}

	public int getTop() {
		return y - (hauteur / 2);
	}

	public int getRight() {
		return x + (largeur / 2);
	}

	public int getBottom() {
		return y + (hauteur / 2);
	}

	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}

	public int getLargeur() {
		return largeur;
	}

	public int getHauteur() {
		return hauteur;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Ville other = (Ville) obj;
		if (x != other.x)
			return false;
		if (y != other.y)
			return false;
		return true;
	}

}
